<%@ page language="java" pageEncoding="UTF-8"%>
<script>
var menuJson = '${sessionScope.userSessionInfo.menuJson}';
// 被选中的最底层的菜单的url
var defaultMenuUrl = '${sessionScope.userSessionInfo.defaultMenuUrl}';
var userMenus = jQuery.parseJSON(menuJson);

var currentMenuID1;
var currentMenuID23;

var menu1Number = 0;
var outDivWidth = 1300;
var defaultHeight = 560;

function myresize(){
	var eeeWidth = $(window).width()>outDivWidth ? ($(window).width()-outDivWidth) / 2 + 200 : 200;
	$('#eee-div').css('width', eeeWidth);
	var bgHeight = $(document.body).height() > $(window).height() ? $(document.body).height() : $(window).height();
	$('.background-div').css('height', bgHeight);
}

// 背景层自适应宽度、高度
$(window).resize(function(){
	myresize();
});

$(document).ready(function() {
		// 修改密码
		var $win = $('#modPwd-window').window( {
			title : '',
			width : 400,
			height : 180,
			shadow : true,
			modal : true,
			closed : true,
			minimizable : false,
			maximizable : false,
			collapsible : false
		});
		var form = $win.find("form");
		$("#modPwd").click(function() {
			$("#edit_dictid").textbox('enable');
			$win.window('open');
			form.form('clear');
			form.url = 'staffAction.do?action=modOneselfPassword';
		});
		$("#clearForm").click(function() {
			$win.window('close');
			form.form('clear');
		});
		$("#submitForm").click(function() {
			form.form('submit', {
				url : form.url,
				success : function(data) {
					data = jQuery.parseJSON(data);
					if (data.flag == 0) {
						$win.window('close');
					} else {
						$.messager.alert('错误', data.flag, 'error');
					}
				}
			});
		});

		// 被选中的一级菜单id
		var level1SelectedMenuID = '${sessionScope.userSessionInfo.defaultMenuID1}';
		currentMenuID1 = level1SelectedMenuID;

		// 被选中的二级菜单或者三级菜单，逻辑在后台做出判断
		var level23SelectedMenuID = '${sessionScope.userSessionInfo.defaultMenuID23}';
		currentMenuID23 = level23SelectedMenuID;
		
		// 初始化二级菜单
		var l2html = '';
		$.each(userMenus, function(i, um) {
			if(um.id.length == 4){
				if(um.hasLevel3 == '1'){
					l2html = l2html + '<div name=\"menu2\" id=\"' + um.id + '\" class=\"easyui-accordion level23\" style=\"width:165px;\"><div title=\"<ul style=\'display:inline-block;\'><li style=\'float:left;\'>' + um.name + '</li></ul>\" style=\"background: #eee\"></div></div>';
				}else{
					l2html = l2html + '<div name="menu2" id="' + um.id + '" align="left" style="display: none;" class="level2"><ul style="display: inline-block;"><li style="float: left;">' + um.name + '</li></ul></div>';
				}
			}
		});
		$('#leftDiv').append(l2html);

		// 初始化三级菜单
		var thisPid = '';
		$.each(userMenus, function(i, um) {
			if(um.id.length == 6 && um.url!=''){
				thisPid = um.id.substring(0,4);
				var l3html = '<div name="menu3" id="' + um.id + '" align="left" class="level3">' + um.name + '</div>';
				$($('#' + thisPid).children()[0]).append(l3html);
			}
		});
		
		// 解析easyui组件
		$.parser.parse();

		// 将菜单动态添加到页面中
		$.each(userMenus, function(i, um) {
			// 显示用户权限范围的菜单
				if (um.id.indexOf(level1SelectedMenuID) == 0
						|| um.id.length == 2) {
					$('#' + um.id).show();

					// 设置一级菜单样式为被选中
				if (um.id == level1SelectedMenuID) {
					$('#' + um.id).css( {
						'background-color' : '#2D8BC8'
					});
				}
				// 设置二级或者三级菜单样式为被选中
				if (um.id == level23SelectedMenuID) {
					defaultMenuUrl = um.url;

					$('#' + um.id).css( {
						'background-color' : '#ffffff'
					});
					$('#' + um.id).css( {
						'color' : '#3498db'
					});

					// 设置二级菜单图标被选中
					if (um.id.length == 4) {
						dealIcon(um.id, 1);
					}

					// 设置三级菜单所属的二级菜单图标被选中
					if (um.id.length == 6) {
						var this2MenuID = um.id.substring(0, 4);
						$('#' + this2MenuID).find("ul li:first").remove();
						dealIcon(this2MenuID, 1);
						$('#' + this2MenuID).find("ul li").css( {
							'color' : '#3498db'
						});
					}
				}
			}

			// 一级菜单
			if (um.id.length == 2) {
				menu1Number = menu1Number + 1;
				// 添加单击事件
				$('#' + um.id).click(function() {
					clickLevel1Menu(um.id);
				});

				// 设置划过样式
				$('#' + um.id).hover(function() {
					$(this).css( {
						'background-color' : '#2D8BC8'
					});
				}, function() {
					if (currentMenuID1 != um.id) {
						$(this).css( {
							'background-color' : '#3498DB'
						});
					}
				});
			}

			// 二级菜单添加图标
			if (um.id.length == 4 && um.id != level23SelectedMenuID) {
				dealIcon(um.id, 2);
			}

			// 给二级三级菜单添加单击事件
			if (um.id.length > 2 && um.hasLevel3 != '1') {
				$('#' + um.id).click(function() {
					clickLevel23Menu(um);
				});

				$('#' + um.id).hover(function() {
					$(this).css( {
						'background-color' : '#dfdfdf'
					});
				}, function() {
					if (um.id != currentMenuID23) {
						$(this).css( {
							'background-color' : '#eeeeee'
						});
					} else {
						$(this).css( {
							'background-color' : '#ffffff'
						});
					}
				});
			}
		});

		// 一级菜单自适应居中
		$('#level1Div').css('margin-left',
				(outDivWidth - (menu1Number * 150)) / 2);
		
		$('.easyui-accordion').each(function(){
			$(this).accordion({
				onSelect: function(title,index){
					closeAllPanel($(this).attr('id'));
				}
			});
		});
		
		closeUnSelectedPanel();
	
		// 背景层设置
		$('.background-div').css('height', defaultHeight + 100);
		$('#eee-div').css('width', ($(window).width()-outDivWidth) / 2 + 190);

		// 中间页面跳转
		$('#mainFrame').attr('src', defaultMenuUrl);
		myresize();
	});

/**
 * 关闭非选中的面板
 */
function closeUnSelectedPanel(){
	$('.easyui-accordion').each(function(){
		if(!(currentMenuID23.length==6 && currentMenuID23.substr(0,4)==$(this).attr('id'))){
			$(this).accordion('getPanel',0).panel('collapse');
		}else{
			$(this).accordion('getPanel',0).panel('expand');
		}
	});
}

/**
 * 指定一个id，除了这个id的面板不关闭其他全关闭
 */
function closeAllPanel(panelid){
	$('.easyui-accordion').each(function(){
		var panel = $(this).accordion('getPanel',0);
		if($(this).accordion('getSelected')!=null && panelid!=$(this).attr('id')){
			panel.panel('collapse');
		}
	});
}

function closeOnePanel(panleid){
	$('#' + panleid).accordion('getPanel',0).panel('collapse');
}

function openOnePanel(panleid){
	$('#' + panleid).accordion('getPanel',0).panel('expand');
}

/**
 * 二三级菜单被选中
 */
function select23Menu(id) {
	if (id.length == 4) {
		$('#' + id).find("ul li:first").remove();
		dealIcon(id, 1);
	}

	if (id.length == 6) {
		var this2MenuID = id.substring(0, 4);
		$('#' + this2MenuID).find("ul li:first").remove();
		dealIcon(this2MenuID, 1);
		$('#' + this2MenuID).find("ul li").css( {
			'color' : '#3498db'
		});
	}

	$('#' + id).css( {
		'background-color' : '#ffffff'
	});
	$('#' + id).css( {
		'color' : '#3498db'
	});
	$('#' + id).find('ul li').css( {
		'color' : '#3498db'
	});
}

/**
 * 清空二三级菜单的被选中样式
 */
function notSelected23Menu() {
	$('div[name="menu2"]').css( {
		'background-color' : '#eeeeee'
	});
	$('div[name="menu3"]').css( {
		'background-color' : '#eeeeee'
	});
	$('div[name="menu2"]').css( {
		'color' : '#777777'
	});
	$('div[name="menu3"]').css( {
		'color' : '#777777'
	});
	$('div[name="menu2"]').find('ul li').css( {
		'color' : '#777777'
	});
	$.each(userMenus, function(i, um) {
		if (um.id.length == 4) {
			$('#' + um.id).find("ul li:first").remove();
			dealIcon(um.id, 2);
		}
	});
}

/**
 * 追加图标
 */
function dealIcon(id, ot) {
	// var imgLi = '<li class="menu-list"><img src="images/main/menu2/'+ id +
	// '_' + ot + '.png"/></li>';
	var imgLi = '<li style="background:url(\'images/main/menu2/'
			+ id
			+ '_'
			+ ot
			+ '.png\') no-repeat center" class="menu-list">&nbsp;&nbsp;&nbsp;&nbsp;</li>';
	$('#' + id).find("ul").prepend(imgLi);
}

/**
 * 单击一级菜单
 */
function clickLevel1Menu(thisMenuID) {
	// 恢复页面高度为默认
	defaultFrameHeight();
	
	currentMenuID1 = thisMenuID;
	// 切换选中状态
	$('div[name="menu1"]').css( {
		'background-color' : '#3498DB'
	});
	notSelected23Menu();
	$('#' + thisMenuID).css( {
		'background-color' : '#2D8BC8'
	});
	
	var twoMenuID = thisMenuID + '09';
	
	// 首先判断最前面的二级菜单
	$.each(userMenus, function(i, um) {
		if((um.id.length > 2) && (um.id.substr(0,2) == thisMenuID) && (parseInt(um.id) < parseInt(twoMenuID))){
			twoMenuID = um.id;
		}
	});
	
	// 再判断是否有三级菜单
	$.each(userMenus, function(i, um) {
		if((um.id.length == 6) && (um.id.substr(0,4) == twoMenuID) && (um.url != '')){
			twoMenuID = twoMenuID + '01';
		}
	});
	
	select23Menu(twoMenuID);
	
	if(currentMenuID23.length == 6){
		closeOnePanel(currentMenuID23.substr(0,4));
	}
	
	currentMenuID23 = twoMenuID;
	
	if(currentMenuID23.length == 6){
		openOnePanel(currentMenuID23.substr(0,4));
	}

	// 切换二级三级菜单显示
	$.each(userMenus, function(i, um) {
		if (um.level != '1') {
			if (um.id.indexOf(thisMenuID) == 0) {
				$('#' + um.id).show();
			} else {
				$('#' + um.id).hide();
			}

			if (twoMenuID == um.id) {
				$('#mainFrame').attr('src', um.url);
			}
		}
	});
	
	myresize();
}

/**
 * 单击二级三级菜单
 */
function clickLevel23Menu(um) {
	currentMenuID23 = um.id;
	
	// 清除旧状态
	notSelected23Menu();

	// 选中新状态
	select23Menu(um.id);
	
	// 恢复页面高度为默认
	//defaultFrameHeight();
	changeHeight(552, 'main');
	// 跳转;将菜单名加载URL后带到当前页
	var url = um.url+"?menuName="+um.name;
	$('#mainFrame').attr('src', url);
	$('html, body').animate({scrollTop:0}, 'fast');
	// 记录一次菜单单击
	//usedClickMenu(um.id);
}

function defaultFrameHeight()
{
	$("#mainFrame").height(defaultHeight);
	$('.background-div').first().css('height', defaultHeight + 100);
}

function usedClickMenu(menuID) {
	$.ajax( {
		url : 'frequentlyUsedMenu.do?search.menuID=' + menuID + '&search.currentMenuID1=' + currentMenuID1+ '&search.currentMenuID23=' + currentMenuID23
	});
}
// iframe变化之后，调整主页面元素的高度
function iFrameHeight() {
	var iHeight = $('#mainFrame').contents().find('body').height();
	$('#mainFrame').css('height', iHeight);
	var left = $('.main-left-div:first').height();
	var right = $('.main-right-div:first').height();
	var mainHeight = 0;
	if (left < right) {
		mainHeight = right + 104;
	} else {
		mainHeight = left + 104;
	}
	$('#backgroundDiv').css('height', mainHeight);
}

function iaasLogout(){
	location.href='login.jsp';
	var hasVMMenu = '${sessionScope.hasVMMenu}';
	if(hasVMMenu==1){
		genSsoIframe('http://172.16.106.20/osfc-portal-rest/session/logout.json',function(){
		});
		genSsoIframe('http://172.16.106.20/cas/logout',function(){
			location.href='loginOut.do';
		});
	}
}

function help(){
	var $swin = $('#searchDiv').window({
		title : '菜单描述',
		width : 600,
		height : 220,
		top : ($(window).height()-220) * 0.5,
		left : ($(window).width()-600) * 0.5,
		shadow : true,
		modal : true,
		closed : true,
		minimizable : false,
		maximizable : false,
		collapsible : false
	});
	$.ajax({
		url:'staffAction.do?action=help&search.menuID='+currentMenuID23,
		type:'post',
		success:function(data){
			data = toJson(data);
			$('#searchDiv').html('');
			var sstr = '<div style="border:1px;height:1px;"/>';
			sstr = sstr + '<div><div style=""><h4><a href="#">' + data.result.privilege_name + '</a></h4></div><div style="margin-top: -15px;font-size:14;">&nbsp;&nbsp;' + data.result.privilege_desc + '</div></div>';
			$('#searchDiv').append(sstr);
			$('#searchDiv').prev().find('div').first().removeClass('panel-title');
			$('#searchDiv').show();
			$swin.window('open');
		}
	});
			
}

function genSsoIframe(src, ssoCallback) {
	$('body').append($('<iframe />').attr({  
            style: "display:none;width:0;height:0",
            id: "ssoLoginFrame",
            name: "ssoLoginFrame",
            src: src
        }));
	$("#ssoLoginFrame").get(0).onload = function(){
	// 父页面回调
	ssoCallback.call(window.parent);
	// 删除iframe
	setTimeout(function(){
	delIframe("#ssoLoginFrame");
	}, 500);
	};

	function delIframe (iframe) {
		if ($(iframe)) {
			$(iframe).remove();
		}
	}
}

function submitHome(defaultMenuID1,defaultMenuID23)
  	{
  		if(defaultMenuID1!='undefined')
  		{
  			$('input[name="defaultMenuID1"]').val(defaultMenuID1);
  		}
  		if(defaultMenuID23!='undefined')
  		{
  			$('input[name="defaultMenuID23"]').val(defaultMenuID23);
  		}
  		$('#homeForm').submit();
  	}
    	
function qq(value,name){ 
	var $swin = $('#searchDiv').window({
		title : '检索结果',
		width : 800,
		height : 360,
		top : ($(window).height()-360) * 0.5,
		left : ($(window).width()-800) * 0.5,
		shadow : true,
		modal : true,
		closed : true,
		minimizable : false,
		maximizable : false,
		collapsible : false
	});
	
	$.ajax({
		url:'staffAction.do?action=searchMenu&search.searchKey='+value,
		type:'post',
		success:function(data){
			data = toJson(data);
			var list = data.list;
			$('#searchDiv').html('');
			var sstr = '<div style="border:1px;height:1px;"/>';
			if(list==null || list=='undefined' || list.length==0)
			{
				sstr = '<div style="margin-top: 15px;font-size:14;">&nbsp;&nbsp;没有搜索到符合要求的记录。</div>'
			}
			else
			{
				for(var i=0; i<list.length; i++)
				{
					var mo = list[i];
					sstr = sstr + '<div><div style=""><h4><a onclick="submitHome(' + mo.PRIVILEGE_ID.toString().substr(0,2) + ',' + mo.PRIVILEGE_ID + ')" href="#">' + mo.PRIVILEGE_NAME + '</a></h4></div><div style="margin-top: -15px;font-size:14;">&nbsp;&nbsp;' + mo.PRIVILEGE_DESC + '</div></div>';
				}
			}
			$('#searchDiv').append(sstr);
			$('#searchDiv').prev().find('div').first().removeClass('panel-title');
			//.attr('line-height', 25);
			$('#searchDiv').show();
			$swin.window('open');
		}
	});
}
</script>